home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / make / icmake-6.000 / icmake-6 / icmake / comp / catstrin.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-02-08  |  753 b   |  32 lines

  1. /*
  2.                             C A T S T R I N . C
  3. */
  4.  
  5. #include "iccomp.h"
  6.  
  7. void catstrings(lval, rval)
  8.     ESTRUC_
  9.         *lval,
  10.         *rval;
  11. {
  12.     char
  13.         *cp;
  14.     register unsigned
  15.         l_len,
  16.         r_len;
  17.  
  18.     l_len = strlen( stringtab[ lval->evalue ].string );
  19.     r_len = strlen( stringtab[ rval->evalue ].string );
  20.  
  21.     cp = xrealloc(NULL, l_len + r_len + 1); /* room for catenated string */
  22.     lval->evalue =
  23.         lookstring
  24.         (
  25.             strcat                          /* catenate two strings */
  26.             (
  27.                 strcpy(cp, stringtab[lval->evalue].string),
  28.                 stringtab[rval->evalue].string
  29.             )
  30.         );
  31.     free(cp);                               /* free intermediate memory */
  32. }